Android usb转串口
插件 ID: 26400
来源: https://ext.dcloud.net.cn/plugin?id=26400
usb串口通信 USB串口转485模块通信,无需ROOT,获取设备信息、连接设备、配置参数、发送数据、设置监听、接收数据、关闭连接等功能
更新记���
1.0.0(2025-12-31)
初始化
平台兼容性
uni-app(4.63)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 | | | √ | √ |
- |
- | √ | √ | 5.0 |
- |
- | | | 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 | | |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- | |
uni-app x(4.35)
| Chrome | Safari | Android | Android插件版本 | iOS | 鸿蒙 | 微信小程序 | | |
- |
- | 5.0 | 1.0.0 |
- |
- |
- | |
android usb 外设通信
插件测试使用方法
1.选择试用,绑定要试用的项目appid, 2.选择后下载到对应的本地项目, 3.按照文档 -》把插件引入项目(即 import {UsbSerialHelper} from "@/uni_modules/xtf-usbserialhelper" 需要先引入), 4.发布-》云打包-》选择制作基座-》打包等基座制作完成 5.运行 -》 运行到手机或模拟器-》运行到Androidapp基座-》选择使用自定义基座运行-》选择手机-》运行 6.之前若安装过基座 ,请卸载之前的基座
程序开发步骤
1.先获取usb 设备列表 2.选择需要通信的usb 设备 3.申请相关usb设备的usb 权限 4.打开usb 设备 5.设置设备的波特率等 6.选择设备usb通信端口 7 通信 读写 8.关闭设备
引入
import {UsbSerialHelper} from "@/uni_modules/xtf-usbserialhelper"
var usbHelper=new UsbSerialHelper();监听usb 设备插拔
uniappx
usbHelper.onListenerUsbListner(function(state:boolean,b:DeviceData){
// state 为true 表示usb设备插入 false 拔出 b 为设备信息
})uniapp
usbHelper.onListenerUsbListner(function(state,b){
// state 为true 表示usb设备插入 false 拔出 b 为设备信息
})检测设备是否有usb权限
// 参数为 DeviceData的deviceName
var have =usbHelper.haveusbper("/dev/bus/usb/005/003");申请设备usb权限
uniappx
// 参数为 DeviceData的deviceName
usbHelper.reqUsbPer("/dev/bus/usb/005/003",function(b:boolean){
// b 为true 表示有权限 false 表示无权限
});uniapp
// 参数为 DeviceData的deviceName
usbHelper.reqUsbPer("/dev/bus/usb/005/003",function(b){
// b 为true 表示有权限 false 表示无权限
});获取设备已经链接的usb设备
uniappx
var devices:DeviceData[]= usbHelper. getAllUsbDevice();uniapp
var devices= usbHelper. getAllUsbDevice();设置波特率等
// baudRate 波特率 ,
// dataBits 数据位:5,6,7,8 ,
// stopBits 停止位:1、2 ,
// parity 校验位::0(不校验)、1(奇校验)、2(偶校验)
usbHelper.setSerialData(9600,8,1,0);链接usb 外设
// 参数为 DeviceData的deviceName
var b=usbHelper.openDevice("/dev/bus/usb/005/003");//5000 是超时时间获取设备接口数量(需要打开设备)
var count= usbHelper.getInterfaceCount();选择usb设备接口
var b= usbHelper.selectUsbInterface(0); //b 表示成功是否打开
var o=usbHelper.isOpen();发送数据
uniappx
// 5566A1C2 表示 16进制字符 5000 为超时时间 参数3 为发送状态回调
usbHelper.writeData("5566A1C2",5000,function(b:boolean){
})uniapp
// 5566A1C2 表示 16进制字符 5000 为超时时间 参数3 为发送状态回调
usbHelper.writeData("5566A1C2",5000,function(b){
})监听usb 数据
uniappx
usbHelper.onAutoReadDataTask(function(state:boolean, data:string){
// data 为16进制字符数据
})uniapp
usbHelper.onAutoReadDataTask(function(state,data){
// data 为16进制字符数据
})取消监听usb数据
usbHelper.stopAutoReadTask();关闭
usbHelper.close();